export function getScrollTop () {
  let scrollTop = 0; let bodyScrollTop = 0; let documentScrollTop = 0
  if (document.body) {
    bodyScrollTop = document.body.scrollTop
  }
  if (document.documentElement) {
    documentScrollTop = document.documentElement.scrollTop
  }
  scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop
  return scrollTop
}

// 文档的总高度

export function getScrollHeight () {
  let scrollHeight = 0; let bodyScrollHeight = 0; let documentScrollHeight = 0
  if (document.body) {
    bodyScrollHeight = document.body.scrollHeight
  }
  if (document.documentElement) {
    documentScrollHeight = document.documentElement.scrollHeight
  }
  scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight
  return scrollHeight
}

// 浏览器视口的高度

export function getWindowHeight () {
  var windowHeight = 0
  if (document.compatMode === 'CSS1Compat') {
    windowHeight = document.documentElement.clientHeight
  } else {
    windowHeight = document.body.clientHeight
  }
  return windowHeight
}

export function toScrollTop () {
  let that = {}
  that.scrollTop = getScrollTop()
  let timer = setInterval(() => {
    let ispeed = Math.floor(-that.scrollTop / 5)
    document.documentElement.scrollTop = document.body.scrollTop = that.scrollTop + ispeed
    that.scrollTop = that.scrollTop + ispeed
    if (that.scrollTop <= 0) {
      clearInterval(timer)
    }
  }, 16)
}

export function isBodyScrollBottom () {
  return getScrollTop() + getWindowHeight() === getScrollHeight()
};
